package com.dys.testarray;

/**
 * @className: com.dys.testarray.ArrayTest2
 * @description: 给定一个数组，找出最大值
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/07/11 下午9:57
 */
public class ArrayTest2 {

    public static void main(String[] args) {
        // System.out.println(maxNumber());
        // int [] arrayOfInt = {1,22,77,99,33,66,11,888};
        // int max = maximumValueInAnArray(arrayOfInt);
        // System.out.println("数组中的最大值是: "+max);
        // System.out.println(arrayOfInt[1]);
        // 1.查询指定位置的元素  2.查询指定元素的位置

        int[] arrayOfInt = {1, 22, 77, 99, 33, 66, 11, 888};
        int index = indexOfArray(arrayOfInt, 10);
        if (index != -1) {
            System.out.println("元素对应的索引是: " + index);
        } else {
            System.out.println("查无此数" + index);
        }
    }

    /**
     * 求数组中的最大值？
     *
     * @return
     */
    public static int maxNumber() {
        // 1.给定一个数组
        int[] arrayOfInt = {1, 22, 77, 99, 33, 66, 11, 888};
        // 2.找出最大值
        // 假设第3个数最大
        int max = arrayOfInt[3];
        // 找出最大值
        for (int i = 0; i < arrayOfInt.length; i++) {
            if (arrayOfInt[i] > max) {
                max = arrayOfInt[i];
            }
        }
        return max;
    }

    /**
     * 提取一个方法：求数组中的最大值，哪个数组？(不确定因素-->形参)
     *
     * @param arrayOfInt 传递的数组
     * @return 最大值
     */
    public static int maximumValueInAnArray(int[] arrayOfInt) {
        arrayOfInt[1] = 999;
        int maxNumber = 0;
        for (int i = 0; i < arrayOfInt.length; i++) {
            if (arrayOfInt[i] > maxNumber) {
                maxNumber = arrayOfInt[i];
            }
        }
        return maxNumber;
    }

    /**
     * 查询指定元素对应的索引：不确定因素有哪些？(哪个数组？哪个元素？)
     *
     * @param arrayOfInt 目标数组
     * @param target     目标元素
     * @return 指定元素对应的索引, 若没有此数, 则返回-1
     */
    public static int indexOfArray(int[] arrayOfInt, int target) {
        int index = -1;
        for (int i = 0; i < arrayOfInt.length; i++) {
            if (arrayOfInt[i] == target) {
                index = i;
            }
        }
        return index;
    }
}
